/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.component.gateway.dianlan.protocol.passive;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import lombok.experimental.SuperBuilder;

/**
 * <b>(DianlanBatteryTemperatureInfo)</b>
 * <p>
 * 单体电池温度信息
 * <pre>
 * 位置(字节/位)  参数定义	                参数说明	                                        备注
 * 1            单体电池最高温度         8bit，1℃/bit，偏移量：-40 范围： －40℃到150℃	0xFF无效
 * 2            电池系统额定容量         8bit，4Ah/bit，偏移量：0，容量范围： 0~1000Ah
 * 3            最高温度单体电池号       8bit，1/bit，偏移量：0	                        0xFF无效
 * 4            单体电池最低温度         8bit，1℃/bit，偏移量：-40 范围： －40℃到150℃	0xFF无效
 * 5            电池系统额定能量         8bit，2kWh/bit，偏移量：0，额定能量： 0~500kWh
 * 6            最低温度单体电池号       8bit，1/bit，偏移量：0	                        0xFF无效
 * 7            充电电流限制            8bit，4A/bit，偏移量：0，范围：0-1000A	        0xFF无效
 * 8            放电电流限制            8bit，4A/bit，偏移量：0，范围：0-1000A	        0xFF无效
 * </pre>
 *
 * @author LiDaHai
 * @version 1.0.0
 * @since 2023/1/12
 */
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class DianlanBatteryTemperatureInfo {
    /** 单体电池最高温度,单位℃ */
    Integer highestTemperature;
    /** 最高温度额定容量,单位Ah */
    Integer highestRatedCapacity;
    /** 最高温度电池号 */
    String  highestTemperatureNumber;
    /** 单体电池最低温度,单位℃ */
    Integer lowestTemperature;
    /** 电池系统额定能量,单位kWh */
    Integer lowestRatedCapacity;
    /** 最低温度单体电池号 */
    String  lowestTemperatureNumber;
    /** 充电电流限制,单位A */
    Integer chargeCurrentLimit;
    /** 放电电流限制,单位A */
    Integer dischargeCurrentLimit;

    public String toString() {
        return "单体电池最高温度：" + highestTemperature + "℃" + "，" +
                "最高温度额定容量：" + highestRatedCapacity + "Ah" + "，" +
                "最高温度电池号：" + highestTemperatureNumber + "，" +
                "单体电池最低温度：" + lowestTemperature + "℃" + "，" +
                "电池系统额定能量：" + lowestRatedCapacity + "kWh" + "，" +
                "最低温度单体电池号：" + lowestTemperatureNumber + "，" +
                "充电电流限制：" + chargeCurrentLimit + "A" + "，" +
                "放电电流限制：" + lowestRatedCapacity + "A";
    }
}